MongoDB 3.6 সংস্করণ থেকে JSON Schema ব্যবহার করে ডেটা ভ্যালিডেশন করার সুবিধা প্রদান করেছে। JSON Schema হল একটি শক্তিশালী কৌশল যা MongoDB-তে ডেটার গঠন (structure) এবং ফরম্যাট কন্ট্রোল করতে সাহায্য করে। এটি ডেটা ইন্টিগ্রিটি নিশ্চিত করতে ব্যবহৃত হয়, যেখানে সঠিক ডেটা মডেল নির্ধারণের মাধ্যমে ইনপুট ডেটা যাচাই করা হয়।
Java MongoDB ড্রাইভার ব্যবহার করে JSON Schema ভ্যালিডেশন সেটআপ করার মাধ্যমে MongoDB ডেটাবেসে প্রবেশ করা ডেটার গঠন নিশ্চিত করা যায়, এবং এটি কোনও অসঙ্গতিপূর্ণ ডেটা ইনসার্ট বা আপডেট হতে বাধা দেয়।
MongoDB তে JSON Schema ভ্যালিডেশন কনফিগারেশন
MongoDB তে JSON Schema ভ্যালিডেশন কনফিগারেশন করার জন্য, প্রথমে আপনার MongoDB ডেটাবেসে স্কিমা তৈরি করতে হবে এবং সেই স্কিমাটি একটি কালেকশনে প্রয়োগ করতে হবে।
MongoDB JSON Schema উদাহরণ
MongoDB JSON Schema দিয়ে একটি কালেকশনের জন্য ভ্যালিডেশন স্ট্রাকচার সেটআপ করার উদাহরণ নিচে দেওয়া হল:
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.MongoClient;
import org.bson.Document;
import com.mongodb.client.model.ValidationOptions;
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("myDatabase");
// JSON Schema ভ্যালিডেশন কনফিগারেশন
Document schema = new Document()
.append("bsonType", "object")
.append("properties", new Document()
.append("name", new Document()
.append("bsonType", "string")
.append("minLength", 1))
.append("age", new Document()
.append("bsonType", "int")
.append("minimum", 18))
.append("email", new Document()
.append("bsonType", "string")
.append("pattern", "^.+@.+\\..+$"))
);
// ValidationOptions নির্ধারণ
ValidationOptions validationOptions = new ValidationOptions().validator(schema);
// কালেকশন তৈরি এবং ভ্যালিডেশন প্রয়োগ
MongoCollection<Document> collection = database.getCollection("users");
collection.createIndex(new Document("name", 1));
database.createCollection("users", new Document("validationOptions", validationOptions));
JSON Schema স্ট্রাকচার
উপরের উদাহরণে, schema হল JSON Schema যা ডেটাবেসে প্রতিটি ডকুমেন্টের জন্য গঠন সংজ্ঞায়িত করে। এখানে:
nameফিল্ডটিstringটাইপের হতে হবে এবং তার দৈর্ঘ্য কমপক্ষে 1 হবে।ageফিল্ডটিintটাইপের হতে হবে এবং তার মান কমপক্ষে 18 হতে হবে।emailফিল্ডটি একটি বৈধ ইমেইল প্যাটার্ন অনুসরণ করতে হবে।
MongoDB JSON Schema Validation এর সুবিধা
১. ডেটা ইন্টিগ্রিটি
JSON Schema ভ্যালিডেশন ডেটার ইন্টিগ্রিটি নিশ্চিত করে। এর মাধ্যমে আপনি ডেটাবেসে ইনসার্ট করা ডেটার গঠন এবং ধরন সঠিক কিনা তা যাচাই করতে পারবেন।
২. ডেটা অ্যাক্সেস দ্রুততর
সঠিক গঠন অনুযায়ী ডেটা স্টোর করার ফলে অ্যাপ্লিকেশন লেভেলে ডেটার অ্যাক্সেস দ্রুত হয় এবং কার্যকরী হয়।
৩. ডেটা নিরাপত্তা
ভ্যালিডেশন লজিক ডেটাবেস লেভেলেই ইমপ্লিমেন্ট করা হয়, ফলে এটি সার্ভার সাইডে নিরাপত্তা বৃদ্ধি করে এবং অসম্পূর্ণ বা ভুল ডেটা ইনপুট হওয়া প্রতিরোধ করে।
৪. সহজ কনফিগারেশন
Java MongoDB ড্রাইভার দিয়ে JSON Schema ভ্যালিডেশন খুব সহজে কনফিগার করা যায় এবং ডেটাবেস মডেল পরিবর্তন বা নতুন ডেটা ফিল্ডের জন্য ভ্যালিডেশন যুক্ত করা সহজ হয়।
MongoDB তে JSON Schema Validation এর সীমাবদ্ধতা
যদিও JSON Schema ভ্যালিডেশন MongoDB তে শক্তিশালী একটি ফিচার, তবুও কিছু সীমাবদ্ধতা রয়েছে:
১. স্কিমা পরিবর্তন কঠিন
MongoDB তে JSON Schema পরিবর্তন করার ক্ষেত্রে কিছু চ্যালেঞ্জ থাকতে পারে, কারণ স্কিমা পরিবর্তন করলে ডেটাবেসের ডেটা কনফিগারেশন পরিবর্তিত হতে পারে।
২. সীমিত ফিচার
MongoDB তে JSON Schema ভ্যালিডেশনের কিছু ফিচার যেমন জটিল কন্ডিশন বা কাস্টম ভ্যালিডেটর ব্যবহার করা খুব সহজ নয়।
Java MongoDB ড্রাইভার ব্যবহার করে JSON Schema ভ্যালিডেশন সঠিকভাবে কনফিগার করে, MongoDB ডেটাবেসে ইনপুট ডেটার গঠন ও ফরম্যাট নিয়ন্ত্রণ করা সম্ভব। এটি ডেটার ইন্টিগ্রিটি এবং নিরাপত্তা নিশ্চিত করতে সহায়ক।
Read more